package com.bkgy.modularbx.rule_edit.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bkgy.commom.model.QueryDTO;
import com.bkgy.modularbx.rule_edit.domain.RuleEdit;
import com.bkgy.modularbx.rule_edit.dto.RuleEditUpdateDto;
import com.bkgy.modularbx.rule_edit.dto.SearchCondition;
import com.bkgy.sys.common.entity.ResultData;

/**
 * 规则编辑表服务接口
 */
public interface RuleEditService extends IService<RuleEdit> {

    /**
     * 新增规则编辑数据
     *
     * @param ruleEdit 规则编辑数据
     * @return 操作结果
     */
    ResultData<Void> addRuleEdit(RuleEdit ruleEdit);

    /**
     * 分页查询规则编辑数据
     *
     * @param queryDTO 查询条件和分页信息
     * @return 分页结果
     */
    ResultData<Page<RuleEdit>> pageRuleEdit(QueryDTO<SearchCondition> queryDTO);

    /**
     * 删除规则编辑数据
     *
     * @param indocno 主键ID
     * @return 操作结果
     */
    ResultData<Void> deleteRuleEdit(Integer indocno);

    /**
     * 更新规则编辑数据
     *
     * @param ruleEditUpdateDto 规则编辑数据
     * @return 操作结果
     */
    ResultData<Void> updateRuleEdit(RuleEditUpdateDto ruleEditUpdateDto);

    /**
     * 根据主键查询规则编辑数据
     *
     * @param indocno 主键ID
     * @return 规则编辑数据详情
     */
    ResultData<RuleEdit> findById(Integer indocno);
}
